AWS Backupでバックアップが削除できない。どうしたら削除できますか?
困っていた内容
AWS Backup のバックアップボールトにおいて、不要なバックアップを削除しようとすると権限エラーとなり削除できません。 操作した IAMユーザーには Administrator Access ポリシーが付与されています。 どうすれば良いでしょうか。
個人検証環境にて再現したエラー内容
どう対応すればいいの?
まず、今回の操作権限を評価しているIAM について振り返ってみます。
IAMでは、IAMポリシーを作成し、それらをIAM ID(ユーザー、ユーザーのグループ、またはロール)またはAWSリソースにアタッチすることで、AWSでのアクセス権限を管理します。 IAMポリシーのポリシータイプには、一般的に以下の種類が存在します。
- アイデンティティベースのポリシー
-
リソースベースのポリシー
-
アクセス許可の境界( Permissions boundaries )
-
AWS Organizations SCP
-
アクセスコントロールリスト (ACL)
-
セッションポリシー
今回の事象に関連しているのは、アイデンティティベースのポリシー(IAMユーザーはここに該当します)とリソースベースのポリシーです。 この2つの種類のポリシーが重なった部分において、評価の対象となります。
アイデンティティベースとリソースベースのポリシーの重なった部分において、いずれか一方に明示的な Deny (拒否)を設定している場合は Deny が優先され、 たとえ IAM ユーザーに Administrator Access ポリシーが付与されていたとしても、該当の操作は拒否の対象となります。
IAM ユーザーにて操作権限があるにも関わらず該当するリソースへの特定の操作ができない場合は、まずリソースベースのポリシーを見直してみることをお勧めします。
今回設定されていたアクセスポリシー
今回のバックアップのアクセスポリシーには、以下の Action に関するポリシーが含まれていました。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": { "AWS": "*" }, "Action": [ "backup:DeleteBackupVault", "backup:DeleteBackupVaultAccessPolicy", "backup:DeleteRecoveryPoint", ], "Resource": "*" } ] }
なおアクセスポリシーは、画面の下部より確認できます。
個人検証環境にて再現した内容
アクセスポリシーに対する変更は拒否の対象に含まれていなかったため、アクセスポリシーを直接編集して、"backup:DeleteBackupVault"
,"backup:DeleteRecoveryPoint"
を削除します。
なお、不要な復旧ポイントの削除のみであれば、"backup:DeleteRecoveryPoint"
を削除するだけでOKです。
アクセスポリシー編集後、無事コンソールからの操作で復旧ポイントが削除されました。
全ての復旧ポイントを削除した後、バックアップボールトもコンソールから削除できました。
関連情報
- IAMの説明に関しての詳細は以下をご参照ください。
Policies and permissions in IAM
- AWS Backupの削除に関する詳細は以下をご参照ください。